Fix PYTHONPATH for tests when using a venv #1208
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When building NMODL with the default flags, it’s possible to get errors like:
when running
ctest
, even though you may have installed all of the requirements via pip in your virtualenv beforehand (and pip showfind_libpython
finds it). The reason is this line here:nmodl/test/unit/CMakeLists.txt
Line 119 in 347f786
This PR fixes this by using the workaround from this SO answer to prepend
PYTHONPATH
with the path to where packages are installed in the venv (should work outside of the venv as well).Note that, as the answer mentions, the Python that comes with Debian is a bit wonky, and I'm not sure if this patch fixes it also on that platform (I tested it on a Debian Bullseye container, aka currently "oldstable", and it seems to work), but at least it shouldn't introduce any regressions.